import '../models/ranking_user_entity.dart';
import '../models/leaderboard_comment_entity.dart';

/// 默认排行榜数据集合
class DefaultLeaderboardDataCollection {
  static const DefaultLeaderboardDataCollection _instance =
      DefaultLeaderboardDataCollection._();
  const DefaultLeaderboardDataCollection._();

  static const DefaultLeaderboardDataCollection defaultLeaderboardData =
      _instance;

  /// 默认用户排行榜列表
  List<RankingUserEntity> get rankings => [
    // 排名第1 - 用户001
    RankingUserEntity(
      userId: 'user_001',
      totalLikeCount: 2847,
      rankPosition: 1,
      lastUpdateTime: DateTime(2024, 1, 15, 18, 30),
    ),

    // 排名第2 - 用户002
    RankingUserEntity(
      userId: 'user_002',
      totalLikeCount: 2651,
      rankPosition: 2,
      lastUpdateTime: DateTime(2024, 1, 15, 17, 45),
    ),

    // 排名第3 - 用户003
    RankingUserEntity(
      userId: 'user_003',
      totalLikeCount: 2398,
      rankPosition: 3,
      lastUpdateTime: DateTime(2024, 1, 15, 16, 20),
    ),

    // 排名第4 - 用户004
    RankingUserEntity(
      userId: 'user_004',
      totalLikeCount: 2156,
      rankPosition: 4,
      lastUpdateTime: DateTime(2024, 1, 15, 15, 10),
    ),

    // 排名第5 - 用户005
    RankingUserEntity(
      userId: 'user_005',
      totalLikeCount: 1987,
      rankPosition: 5,
      lastUpdateTime: DateTime(2024, 1, 15, 14, 35),
    ),

    // 排名第6 - 用户006
    RankingUserEntity(
      userId: 'user_006',
      totalLikeCount: 1834,
      rankPosition: 6,
      lastUpdateTime: DateTime(2024, 1, 15, 13, 50),
    ),

    // 排名第7 - 用户007
    RankingUserEntity(
      userId: 'user_007',
      totalLikeCount: 1672,
      rankPosition: 7,
      lastUpdateTime: DateTime(2024, 1, 15, 12, 25),
    ),

    // 排名第8 - 用户008
    RankingUserEntity(
      userId: 'user_008',
      totalLikeCount: 1543,
      rankPosition: 8,
      lastUpdateTime: DateTime(2024, 1, 15, 11, 40),
    ),

    // 排名第9 - 用户009
    RankingUserEntity(
      userId: 'user009',
      totalLikeCount: 1398,
      rankPosition: 9,
      lastUpdateTime: DateTime(2024, 1, 15, 10, 55),
    ),

    // 排名第10 - 用户010
    RankingUserEntity(
      userId: 'user_010',
      totalLikeCount: 1267,
      rankPosition: 10,
      lastUpdateTime: DateTime(2024, 1, 15, 9, 30),
    ),
  ];

  /// 默认排行榜评论列表
  List<LeaderboardCommentEntity> get comments => [
    // 评论1
    LeaderboardCommentEntity(
      commentId: 'lb_comment_001',
      authorId: 'user_004',
      content:
          'Top of the community like ranking is a 3D-printed old item repair series. The author fixed broken home items with printed parts and shared parameters. I repaired my old fan successfully. Super practical, no wonder it is popular.',
      commentTime: DateTime(2024, 1, 15, 19, 30),
    ),

    // 评论2
    LeaderboardCommentEntity(
      commentId: 'lb_comment_002',
      authorId: 'user_008',
      content:
          'A Beginner Figurine Printing serial post is in the top 10. It covers printer and filament choices and mistake fixes. I followed it for my first figurine print with no failures. Worth the high likes.',
      commentTime: DateTime(2024, 1, 15, 18, 45),
    ),

    // 评论3
    LeaderboardCommentEntity(
      commentId: 'lb_comment_003',
      authorId: 'user_003',
      content:
          'A 3D Printing for Charity post touched me. The author organized printing teaching aids for mountain schools, with photos of kids using them. Many joined in and warm content deserves its likes.',
      commentTime: DateTime(2024, 1, 15, 17, 20),
    ),

    // 评论4
    LeaderboardCommentEntity(
      commentId: 'lb_comment_004',
      authorId: 'user_007',
      content:
          '5th place is a Printer Silencing tutorial. Step-by-step mods with foot pads and motors with videos. My printer noise is halved now and super useful.',
      commentTime: DateTime(2024, 1, 15, 16, 10),
    ),

    // 评论5
    LeaderboardCommentEntity(
      commentId: 'lb_comment_005',
      authorId: 'user_006',
      content:
          'A Resin Wastewater Treatment post shares a low-cost sedimentation and activated carbon method. Eco-friendly and solved my wastewater worry.',
      commentTime: DateTime(2024, 1, 15, 15, 35),
    ),

    // 评论6
    LeaderboardCommentEntity(
      commentId: 'lb_comment_006',
      authorId: 'user_003',
      content:
          'Looking forward to next month\'s rankings! This competition keeps getting more exciting.',
      commentTime: DateTime(2024, 1, 15, 14, 50),
    ),

    // 评论7
    LeaderboardCommentEntity(
      commentId: 'lb_comment_007',
      authorId: 'user_001',
      content:
          'Grateful for everyone\'s support! This community is what makes creating content so rewarding.',
      commentTime: DateTime(2024, 1, 15, 13, 25),
    ),

    // 评论8
    LeaderboardCommentEntity(
      commentId: 'lb_comment_008',
      authorId: 'user_001',
      content:
          'The quality of content from everyone in the top 10 is absolutely outstanding. Well deserved rankings!',
      commentTime: DateTime(2024, 1, 15, 12, 40),
    ),

    // 评论9
    LeaderboardCommentEntity(
      commentId: 'lb_comment_009',
      authorId: 'user_006',
      content:
          'This leaderboard system really encourages healthy competition and collaboration. Love it!',
      commentTime: DateTime(2024, 1, 15, 11, 15),
    ),

    // 评论10
    LeaderboardCommentEntity(
      commentId: 'lb_comment_010',
      authorId: 'user_005',
      content:
          'Shoutout to everyone who\'s been consistently creating amazing content. You inspire us all!',
      commentTime: DateTime(2024, 1, 15, 10, 30),
    ),

    // 评论11
    LeaderboardCommentEntity(
      commentId: 'lb_comment_011',
      authorId: 'user_005',
      content:
          'New to the platform but already impressed by the community spirit shown in these rankings!',
      commentTime: DateTime(2024, 1, 14, 21, 45),
    ),

    // 评论12
    LeaderboardCommentEntity(
      commentId: 'lb_comment_012',
      authorId: 'user_007',
      content:
          'The monthly reset keeps things fresh and gives everyone a chance to shine. Great system design!',
      commentTime: DateTime(2024, 1, 14, 20, 20),
    ),
  ];
}
